package otherWork;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * Created by lenovo on 2017/1/6.
 */
public class JDBCUtils {

    /**
     * 一个非常标准的连接Oracle数据库的示例代码
     */
    public void testOracle()
    {
        Connection con = null;// 创建一个数据库连接
        PreparedStatement pre = null;// 创建预编译语句对象，一般都是用这个而不用Statement
        ResultSet result = null;// 创建一个结果集对象
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
            System.out.println("开始尝试连接数据库！");
            String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本机地址，XE是精简版Oracle的默认数据库名
            String user = "system";// 用户名,系统默认的账户名
            String password = "147";// 你安装时选设置的密码
            con = DriverManager.getConnection(url, user, password);// 获取连接
           /* System.out.println("连接成功！");

            String sql = "select * from student where name=?";// 预编译语句，“？”代表参数
            pre = con.prepareStatement(sql);// 实例化预编译语句
            pre.setString(1, "刘显安");// 设置参数，前面的1表示参数的索引，而不是表中列名的索引
            result = pre.executeQuery();// 执行查询，注意括号中不需要再加参数
            while (result.next())
                // 当结果集不为空时
                System.out.println("学号:" + result.getInt("id") + "姓名:"
                        + result.getString("name"));*/
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    /**
     * 一个非常标准的连接mysql数据库的示例代码
     */
    public void testMysql()
    {
        Connection con = null;// 创建一个数据库连接
        PreparedStatement pre = null;// 创建预编译语句对象，一般都是用这个而不用Statement
        ResultSet result = null;// 创建一个结果集对象
        try
        {
            Class.forName("com.mysql.jdbc.Driver");// 加载Oracle驱动程序
            System.out.println("开始尝试连接数据库！");
            String url = "jdbc:mysql://localhost/test";// 127.0.0.1是本机地址，XE是精简版Oracle的默认数据库名
            String user = "root";// 用户名,系统默认的账户名
            String password = "root";// 你安装时选设置的密码
            con = DriverManager.getConnection(url, user, password);// 获取连接
           /* System.out.println("连接成功！");

            String sql = "select * from student where name=?";// 预编译语句，“？”代表参数
            pre = con.prepareStatement(sql);// 实例化预编译语句
            pre.setString(1, "刘显安");// 设置参数，前面的1表示参数的索引，而不是表中列名的索引
            result = pre.executeQuery();// 执行查询，注意括号中不需要再加参数
            while (result.next())
                // 当结果集不为空时
                System.out.println("学号:" + result.getInt("id") + "姓名:"
                        + result.getString("name"));*/
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    /**
     * get database connection
     */
    public static Connection getConnection()
    {
        Connection con = null;// 创建一个数据库连接
        PreparedStatement pre = null;// 创建预编译语句对象，一般都是用这个而不用Statement
        ResultSet result = null;// 创建一个结果集对象
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
            //192.168.12.202:1521/xthis
            String url = "jdbc:oracle:thin:@//192.168.12.202:1521/xthis";
            String user = "EMRHIS_RD";// 用户名,系统默认的账户名
            String password = "123456";// 你安装时选设置的密码
            con = DriverManager.getConnection(url, user, password);// 获取连接
        }
        catch (Exception e)
        {
            System.out.println("get database connection exception.");
            System.exit(-1);
        }
        return con;
    }

    /**
     * get database connection
     */
    public static Connection getConnectionMysql()
    {
        Connection con = null;// 创建一个数据库连接
        PreparedStatement pre = null;// 创建预编译语句对象，一般都是用这个而不用Statement
        ResultSet result = null;// 创建一个结果集对象
        try
        {
            Class.forName("com.mysql.jdbc.Driver");// 加载Oracle驱动程序
            //192.168.12.202:1521/xthis
            String url = "jdbc:mysql://localhost/test";
            String user = "root";// 用户名,系统默认的账户名
            String password = "root";// 你安装时选设置的密码
            con = DriverManager.getConnection(url, user, password);// 获取连接
        }
        catch (Exception e)
        {
            System.out.println("get database connection exception.");
            System.exit(-1);
        }
        return con;
    }

    public static void main(String [] args){
//        Connection con = getConnection();
        Connection con = getConnectionMysql();

        if (con != null){
            System.out.println("connection successful");
        }
    }
}
